package com.sinoeyes.compent.mapper;

import com.sinoeyes.compent.po.CurrencyModel;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 用于初版模板的CURD管理Mapper接口
 * 
 * @author aries.hao
 * @date 2019-09-05
 */
public interface CurrencyModelMapper
{
    /**
     * 查询用于初版模板的CURD管理
     * 
     * @param id 用于初版模板的CURD管理ID
     * @return 用于初版模板的CURD管理
     */
    CurrencyModel selectCurrencyModelById(String id);

    /**
     * 查询用于初版模板的CURD管理列表
     * 
     * @param CurrencyModel 用于初版模板的CURD管理
     * @return 用于初版模板的CURD管理集合
     */
    List<CurrencyModel> selectCurrencyModelList(CurrencyModel CurrencyModel);

    /**
     * 新增用于初版模板的CURD管理
     * 
     * @param CurrencyModel 用于初版模板的CURD管理
     * @return 结果
     */
    int insertCurrencyModel(CurrencyModel CurrencyModel);

    /**
     * 修改用于初版模板的CURD管理
     * 
     * @param CurrencyModel 用于初版模板的CURD管理
     * @return 结果
     */
    int updateCurrencyModel(CurrencyModel CurrencyModel);

    /**
     * 删除模板信息
     *
     * @param CurrencyModel 模板信息temp
     * @return 结果
     */
    int deleteCurrencyModelById(CurrencyModel CurrencyModel);

    /**
     * 批量删除模板信息
     *
     * @param CurrencyModel 模板信息temp
     * @return 结果
     */
    int deleteCurrencyModelByIds(CurrencyModel CurrencyModel);

    /**
     * 启用模板信息
     *
     * @param CurrencyModel 模板信息temp
     * @return 结果
     */
    int enableCurrencyModelById(CurrencyModel CurrencyModel);

    /**
     * 批量启用模板信息
     *
     * @param CurrencyModel 模板信息temp
     * @return 结果
     */
    int enableCurrencyModelByIds(CurrencyModel CurrencyModel);

    /**
     * 查询有效的模板信息
     *
     * @param ids 模板IDS
     * @return 结果
     */
    @Select("select count(*) from t_currency_info tc, agreement_model am where tc.id=am.model_id and am.active=1 and tc.active=1 and tc.flow_status=20 and am.model_id in(#{ids}) ")
    int selectActiveModelCount(@Param("ids") String ids);
}
